package com.restcloud.pojo.PersonalInformation;

import com.restcloud.pojo.Public.Code;
import com.restcloud.pojo.Public.Id;
import com.restcloud.pojo.Public.Name;
import com.restcloud.pojo.Public.Value;
import lombok.Data;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import java.util.List;

@XmlAccessorType(XmlAccessType.FIELD)
@Data
public class PatientPerson {

    @XmlElementWrapper(name = "id")
    @XmlElement(name = "item")
    private List<Id> id;

    @XmlElement(name = "name")
    private Name name;

    @XmlElement(name = "telecom")
    private Name telecom;

    @XmlElement(name = "administrativeGenderCode")
    private Code administrativeGenderCode;

    @XmlElement(name = "birthTime")
    private Value birthTime;

    @XmlElement(name = "addr")
    private Name addr;

    @XmlElement(name = "maritalStatusCode")
    private Code maritalStatusCode;

    @XmlElement(name = "ethnicGroupCode")
    private Value ethnicGroupCode;

    @XmlElement(name = "asEmployee")
    private Device asEmployee;

    @XmlElementWrapper(name = "asOtherIDs")
    private List<Device> asOtherIDs;

    @XmlElement(name = "personalRelationship")
    private Device personalRelationship;

    public List<Id> getId() {
        return id;
    }

    public void setId(List<Id> id) {
        this.id = id;
    }

    public Name getName() {
        return name;
    }

    public void setName(Name name) {
        this.name = name;
    }

    public Name getTelecom() {
        return telecom;
    }

    public void setTelecom(Name telecom) {
        this.telecom = telecom;
    }

    public Code getAdministrativeGenderCode() {
        return administrativeGenderCode;
    }

    public void setAdministrativeGenderCode(Code administrativeGenderCode) {
        this.administrativeGenderCode = administrativeGenderCode;
    }

    public Value getBirthTime() {
        return birthTime;
    }

    public void setBirthTime(Value birthTime) {
        this.birthTime = birthTime;
    }

    public Name getAddr() {
        return addr;
    }

    public void setAddr(Name addr) {
        this.addr = addr;
    }

    public Code getMaritalStatusCode() {
        return maritalStatusCode;
    }

    public void setMaritalStatusCode(Code maritalStatusCode) {
        this.maritalStatusCode = maritalStatusCode;
    }

    public Value getEthnicGroupCode() {
        return ethnicGroupCode;
    }

    public void setEthnicGroupCode(Value ethnicGroupCode) {
        this.ethnicGroupCode = ethnicGroupCode;
    }

    public Device getAsEmployee() {
        return asEmployee;
    }

    public void setAsEmployee(Device asEmployee) {
        this.asEmployee = asEmployee;
    }

    public List<Device> getAsOtherIDs() {
        return asOtherIDs;
    }

    public void setAsOtherIDs(List<Device> asOtherIDs) {
        this.asOtherIDs = asOtherIDs;
    }

    public Device getPersonalRelationship() {
        return personalRelationship;
    }

    public void setPersonalRelationship(Device personalRelationship) {
        this.personalRelationship = personalRelationship;
    }
}
